Autonomic computing systems are typically designed to mimic the human body's central nervous system. For instance, inputs are received by the system and the system reacts to these inputs without the need for specific inputs or control from a human user. In one example, low-level tasks of the system may be performed without the requirement of intervening highly trained human specialists. Autonomic systems may be self-configurable and self-managed, further reducing or eliminating the need for user input and/or control.
Autonomic systems typically include heterogeneous computing elements that are programmed using specific data and commands. For instance, each device in the autonomic system may be programmed using one or more distinct programming approaches (e.g., using the Simple Network Management Protocol (SNMP) or a Command Line Interface (CLI)), according to different programming models (e.g., modal and non-modal approaches) or according to different programming languages.
Autonomic systems and the elements within these systems typically require access to knowledge in the form of rules that facilitate such activities and operations as reasoning and generation of code for data cleaning operations (e.g., filtering the construction of derived attributes, or special or temporal constraints on attribute location). In addition to the conditional selection of rules, system elements sometimes require the specification of different types of processing approaches to be used at the various elements under different conditions, for example, when the selected rules are similar.
Previous autonomic systems have not organized information based according to rules. Rules sometimes were utilized to refine queries, for example, but were not organized for easy retrieval and use. Unfortunately, with previous systems, it proved difficult or impossible to easily obtain the rules for use by various system elements thereby reducing efficiency, accuracy, and system speed.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein.